package com.wyx.suanfa;

/**
 * @author 王艺锡
 * @version 1.0
 */
public class deleteNode {
    //给定一个二叉搜索树的根节点 root 和一个值 key，删除二叉搜索树中的 key 对应的节点，并保证二叉搜索树的性质不变。
    // 返回二叉搜索树（有可能被更新）的根节点的引用。
    public static void main(String[] args) {

    }
}
/*
* class Solution {
    public TreeNode deleteNode(TreeNode root, int key) {
        //当树中不存在要删除的节点时，会便利到null节点，此时返回null即可
        if(root == null){
            return root;
        }
        //如果找到了要删除的节点
        if(root.val == key){
            if(root.left == null){//如果左节点为空，则直接返回右节点，右节点为空说明左右节点都为空，直接返回null即可
                return root.right;
            }else if(root.right == null){//如果右节点为空，则直接返回右节点
                return root.left;
            }else{//如果左右节点都不为空
                TreeNode tmp = root.right;
                while(tmp.left != null){
                    tmp = tmp.left;
                }
                tmp.left = root.left;
                root = root.right;
            }

        }

        if(root.val > key){
            root.left = deleteNode(root.left,key);
        }
        if(root.val < key){
            root.right = deleteNode(root.right,key);
        }
        return root;
    }
}*/
